Mobile devices such as mobile phones, smart phones, tablet computers, etc. are a popular platform for application programs. In many cases, an application program executing on a mobile device may communicate with a server system. A client-server application model is a distributed application structure that partitions tasks or workloads between a provider of a resource or service (a server), and a service requester (a client). Clients and servers may communicate over a computer network, which can involve large amounts of data transfer.